package com.deke.entity;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

/**
 * 权限(AclPermission)实体类
 *
 * @author makejava
 * @since 2022-12-01 18:05:32
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "acl_permission")
public class AclPermission implements Serializable {
    private static final long serialVersionUID = 145079340007792240L;
    /**
     * 编号
     */
    @TableId
    private String id;
    /**
     * 所属上级
     */
    private String pid;
    /**
     * 名称
     */
    private String name;
    /**
     * 类型(1:菜单,2:按钮)
     */
    private Integer type;
    /**
     * 权限值
     */
    private String permissionValue;
    /**
     * 访问路径
     */
    private String path;
    /**
     * 组件路径
     */
    private String component;
    /**
     * 图标
     */
    private String icon;
    /**
     * 状态(0:禁止,1:正常)
     */
    private Integer status;
    /**
     * 逻辑删除 1（true）已删除， 0（false）未删除
     */
    private Integer isDeleted;
    /**
     * 创建时间
     */
    //@JsonFormat(pattern = "yyyy-MM-ddHH:mm:ss",timezone = "GMT+8")
    private LocalDateTime gmtCreate;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime gmtModified;

    /**
     * 子权限
     */
    //表示该属性在数据库中不存在
    @TableField(exist = false)
    private List<AclPermission> children;


}

